package com.example.daibanshiwu.pojo;

import java.time.LocalDateTime;

public class ProcessingRecord {
    private static final long serialVersionUID = 1L;

    /**
     * 处理记录唯一ID
     */
    private Integer recordId;

    /**
     * 消息主表ID (外键)
     */
    private Integer messageId;

    /**
     * 处理者用户ID (外键)
     */
    private Integer processorUserId;

    /**
     * 主表ID
     */
    private String id;

    /**
     * 处理信息/意见
     */
    private String processInfo;

    /**
     * 处理时间
     */
    private LocalDateTime processTime;

    /**
     * 附件的原始文件名
     */
    private String attachmentFilename;

    /**
     * 附件的MIME类型
     */
    private String attachmentContentType;

    /**
     * 附件的二进制内容，将映射到数据库的BLOB字段
     */
    private byte[] attachmentContent;

    // 无参构造函数
    public ProcessingRecord() {
    }

    // 全参构造函数
    public ProcessingRecord(Integer recordId, Integer messageId, Integer processorUserId, String processInfo, String attachmentInfo, LocalDateTime processTime) {
        this.recordId = recordId;
        this.messageId = messageId;
        this.processorUserId = processorUserId;
        this.processInfo = processInfo;
        this.processTime = processTime;
    }

    // --- Getter 和 Setter 方法 ---


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Integer getRecordId() {
        return recordId;
    }

    public void setRecordId(Integer recordId) {
        this.recordId = recordId;
    }

    public Integer getMessageId() {
        return messageId;
    }

    public void setMessageId(Integer messageId) {
        this.messageId = messageId;
    }

    public Integer getProcessorUserId() {
        return processorUserId;
    }

    public void setProcessorUserId(Integer processorUserId) {
        this.processorUserId = processorUserId;
    }

    public String getProcessInfo() {
        return processInfo;
    }

    public void setProcessInfo(String processInfo) {
        this.processInfo = processInfo;
    }

    public LocalDateTime getProcessTime() {
        return processTime;
    }

    public void setProcessTime(LocalDateTime processTime) {
        this.processTime = processTime;
    }

    public String getAttachmentFilename() {
        return attachmentFilename;
    }

    public void setAttachmentFilename(String attachmentFilename) {
        this.attachmentFilename = attachmentFilename;
    }

    public String getAttachmentContentType() {
        return attachmentContentType;
    }

    public void setAttachmentContentType(String attachmentContentType) {
        this.attachmentContentType = attachmentContentType;
    }

    public byte[] getAttachmentContent() {
        return attachmentContent;
    }

    public void setAttachmentContent(byte[] attachmentContent) {
        this.attachmentContent = attachmentContent;
    }

    // 重写 toString() 方法
    @Override
    public String toString() {
        return "ProcessingRecord{" +
                "recordId=" + recordId +
                ", messageId=" + messageId +
                ", processorUserId=" + processorUserId +
                ", processInfo='" + processInfo + '\'' +
                ", processTime=" + processTime +
                '}';
    }
}
